home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / tutorial / t8 / lcdrange.cpp.z / lcdrange.cpp
C/C++ Source or Header  |  2002-04-08  |  1KB  |  48 lines

  1. /****************************************************************
  2. **
  3. ** Implementation of LCDRange class, Qt tutorial 8
  4. **
  5. ****************************************************************/
  6.  
  7. #include "lcdrange.h"
  8.  
  9. #include <qslider.h>
  10. #include <qlcdnumber.h>
  11.  
  12. LCDRange::LCDRange( QWidget *parent, const char *name )
  13.         : QVBox( parent, name )
  14. {
  15.     QLCDNumber *lcd  = new QLCDNumber( 2, this, "lcd"  );
  16.     slider = new QSlider( Horizontal, this, "slider" );
  17.     slider->setRange( 0, 99 );
  18.     slider->setValue( 0 );
  19.     connect( slider, SIGNAL(valueChanged(int)),
  20.          lcd, SLOT(display(int)) );
  21.     connect( slider, SIGNAL(valueChanged(int)),
  22.          SIGNAL(valueChanged(int)) );
  23.  
  24.     setFocusProxy( slider );
  25. }
  26.  
  27. int LCDRange::value() const
  28. {
  29.     return slider->value();
  30. }
  31.  
  32. void LCDRange::setValue( int value )
  33. {
  34.     slider->setValue( value );
  35. }
  36.  
  37. void LCDRange::setRange( int minVal, int maxVal )
  38. {
  39.     if ( minVal < 0 || maxVal > 99 || minVal > maxVal ) {
  40.       qWarning( "LCDRange::setRange(%d,%d)\n"
  41.            "\tRange must be 0..99\n"
  42.            "\tand minVal must not be greater than maxVal",
  43.            minVal, maxVal );
  44.       return;
  45.     }
  46.     slider->setRange( minVal, maxVal );
  47. }
  48.